Rapid advances in electronics and communication technologies, driven by immense user demand, have resulted in vast interconnected networks of computing devices capable of exchanging immense amounts of data. For example, Local Area Networks (LANs) may connect hundreds or thousands of computing devices in a single network. Perhaps the best known example of such interconnection of computing devices is the Internet, which continues to expand with each passing day. As technology continues to advance and interconnected communication networks grow in size and frequency of use, there is an increasing incentive to send and receive data more efficiently.